IE浏览器下打开指定路径的EXE文件:
function Run(strPath) {
//alert(strPath);
try {
var objShell = new ActiveXObject("wscript.shell");
objShell.Run(strPath);
objShell = null;
} catch (e) {
alert('找不到文件"' + strPath + '"(或它的组件之一)。请确定路径和文件名是否正确,而且所需的库文件均可用。')
}
//new ActiveXObject("wscript.shell").run(strPath);
}
function openCHSUtils(utilName){
var username = getQueryString('username');
var text = utilName+'.exe -devextensions -command -username='+username+' -password=a83d78f9ef0b81d845509797a63f7644da192abd308b3db77b8f517e4f2d706de3f1b5df77bdadc9 -Xms512m -Xmn512m -Xmx1024m';
Run(text);
}
ActiveXObject为IE浏览器的特有对象,因此该方式仅允许在IE浏览器下使用,且使用前必须配置IE浏览器的安全策略。
如需向exe程序传递参数,拼接cmd命令时将参数加入即可。
chrome、firefox等浏览器打开本地exe文件
因浏览器的安全策略问题,除ie外的其他浏览器均无法直接打开本地exe文件,因此采用将exe路径写入注册表的方式打开。
若需向exe传递参数,则需要用中间文件将注册表传入的参数进行转换
注册表内容如下:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CapitalLogic]
"URL Protocol"="D:\\MentorGraphics\\Capital2016.1\\bin\\CapitalLogic.exe"
[HKEY_CLASSES_ROOT\CapitalLogic\DefaultIcon]
@="D:\\MentorGraphics\\Capital2016.1\\bin\\CapitalLogic.exe"
[HKEY_CLASSES_ROOT\CapitalLogic\shell]
[HKEY_CLASSES_ROOT\CapitalLogic\shell\open]
[HKEY_CLASSES_ROOT\CapitalLogic\shell\open\command]
@="\"C:\\Users\\houman\\Desktop\\CapitalLogic.bat\" \"%1\" "
bat内容如下:
call CapitalHarnessXC.exe -devextensions -command -username=%1 -password=mangaer -Xms512m -Xmn512m -Xmx1024m
pause
若不需要向exe文件传递参数,则直接通过注册表调用exe即可